﻿
using Microsoft.Xna.Framework;

namespace XNAGameEngine.Collision
{
    /// <summary>
    /// Interface object must inherit if needed to be tested for collisions
    /// </summary>
    public interface ICollidable
    {

        #region properties

        /// <summary>
        /// Get or set the bounding box for the object implementing this property.
        /// This should only be set once and should be created with the min = (0, 0, 0).
        /// </summary>
        BoundingBox BoundingBox { get; set; }

        #endregion
        
        #region local methods

        /// <summary>
        /// This method is called by the Collision Manager when there is a collision
        /// between the object being called and the object whose Id is being passed in.
        /// </summary>
        /// <param name="intCollidedWith">The id of the object that has a collision
        /// with the current game object
        /// </param>
        void Collided(CollisionMessage intCollidedWith);

        #endregion

    }
}
